package com.atguigu.a_principle.p1single.v3;


/**
 *  降低类的复杂度，一个类只负责一项职责。
 *  提高类的可读性，可维护性
 *  降低变更引起的风险
 *  通常情况下，我们应当遵守单一职责原则，只有逻辑足够简单，才可以在代码级违反单一职责原则；只有类中
 * 方法数量足够少，可以在方法级别保持单一职责原则
 */
public class SingleResponsebility {
    public static void main(String[] args) {
        Vehicle1 vehicle1 = new Vehicle1();
        vehicle1.runRoad("cars");
        vehicle1.runAir("airplane");
        vehicle1.runWater("steamer");
    }
}

/**
    1. 这种修改方法没有对原来的类做大的修改，只是增加方法
    2. 这里虽然没有在类这个级别上遵守单一职责原则，但是在方法级别上，仍然是遵守单一职责
*/
class Vehicle1 {
    /**
     * 一个方法执行多个任务，职责不清晰
     * @param name
     */
    public void runRoad(String name) {
        System.out.println(name + " runs on the road");
    }
    public void runAir(String name) {
        System.out.println(name + " runs on the water");
    }
    public void runWater(String name) {
        System.out.println(name + " runs on the air");
    }
}